home *** CD-ROM | disk | FTP | other *** search
/ Champak 138 / Volume 138 Aug 19 2011 - Damaged.iso / Games / shadez.swf / scripts / Local / Game / HUD / CHUDPanel.as < prev    next >
Encoding:
Text File  |  2011-08-19  |  11.4 KB  |  383 lines

  1. package Local.Game.HUD
  2. {
  3.    import Local.*;
  4.    import Local.Game.Level.*;
  5.    import Local.Game.Thing.*;
  6.    import Local.Game.World.*;
  7.    import Local.Game.World.Map.*;
  8.    import Local.Game.World.Map.Cell.*;
  9.    import STC9.IO.*;
  10.    import STC9.System.*;
  11.    import flash.display.*;
  12.    import flash.events.*;
  13.    import flash.filters.*;
  14.    import flash.geom.*;
  15.    import flash.text.*;
  16.    
  17.    public class CHUDPanel extends EventDispatcher
  18.    {
  19.       
  20.       public static const DRAWPANEL:String = "DRAWPANEL";
  21.       
  22.       private static var mTabSelected:ColorTransform;
  23.       
  24.       private static var mPanelPosition:Point;
  25.       
  26.       private static var mTabHilight:ColorTransform;
  27.       
  28.       private static var mTabTextColor:uint;
  29.       
  30.       private static var mTabTextFilters:Array;
  31.       
  32.       public static const SELECTED:String = "SELECTED";
  33.       
  34.       private static var mTabNormal:ColorTransform;
  35.        
  36.       
  37.       public var mDrawInit:Boolean = false;
  38.       
  39.       public var mcContainer:MovieClip;
  40.       
  41.       public var mSize:Rectangle;
  42.       
  43.       public var mPermanent:Boolean;
  44.       
  45.       internal var mID:String;
  46.       
  47.       internal var mHUD:CHUD;
  48.       
  49.       internal var mcPanel:MovieClip;
  50.       
  51.       private var mcTab:MovieClip;
  52.       
  53.       internal var mIcons:Array;
  54.       
  55.       public function CHUDPanel(param1:CHUD, param2:MovieClip, param3:MovieClip, param4:Boolean = false)
  56.       {
  57.          mDrawInit = false;
  58.          super();
  59.          mPermanent = param4;
  60.          mHUD = param1;
  61.          mcPanel = param2;
  62.          mcTab = param3;
  63.          if(mPermanent)
  64.          {
  65.             mcTab.visible = false;
  66.          }
  67.          mcPanel.mcSize.visible = false;
  68.          mID = mcPanel.name.substr(7).toLowerCase();
  69.          mcPanel.mPanel = this;
  70.          mIcons = new Array();
  71.          mSize = new Rectangle(mcPanel.mcSize.x,mcPanel.mcSize.y,mcPanel.mcSize.width,mcPanel.mcSize.height);
  72.          mcPanel.addChild(mcContainer = new MovieClip());
  73.          if(mcTab)
  74.          {
  75.             mcTab.mPanel = this;
  76.             mcTab.addEventListener(MouseEvent.MOUSE_OVER,e_TAB_OVER);
  77.             mcTab.addEventListener(MouseEvent.MOUSE_OUT,e_TAB_OUT);
  78.             mcTab.addEventListener(MouseEvent.MOUSE_UP,e_TAB_UP);
  79.          }
  80.          mSelected = false;
  81.          if(mcPanel.mcFader)
  82.          {
  83.             mcPanel.scrollRect = mSize;
  84.          }
  85.       }
  86.       
  87.       public static function SetDefaults(param1:MovieClip) : void
  88.       {
  89.          mTabSelected = param1.mcTabUnits.transform.colorTransform;
  90.          mTabNormal = param1.mcTabStrikes.transform.colorTransform;
  91.          mTabHilight = param1.mcTabUpgrades.transform.colorTransform;
  92.          mTabTextFilters = param1.mcTabUnits.tbText.filters;
  93.          mTabTextColor = param1.mcTabUnits.tbText.textColor;
  94.          mPanelPosition = new Point(param1.mcPanelUnits.x,param1.mcPanelUnits.y);
  95.       }
  96.       
  97.       public function DeselectAll() : void
  98.       {
  99.          var _loc1_:CHUDIcon = null;
  100.          for each(_loc1_ in mIcons)
  101.          {
  102.             _loc1_.Deselect();
  103.          }
  104.       }
  105.       
  106.       private function RepositionIcons() : void
  107.       {
  108.          var _loc1_:int = 0;
  109.          var _loc2_:int = 0;
  110.          var _loc3_:CHUDIcon = null;
  111.          _loc1_ = 5;
  112.          _loc2_ = 5;
  113.          for each(_loc3_ in mIcons)
  114.          {
  115.             _loc3_.x = _loc1_ + _loc3_.mIndex * (CHUDIcon.IconWidth + 5);
  116.             _loc3_.y = _loc2_;
  117.          }
  118.       }
  119.       
  120.       public function ProcessIcons() : void
  121.       {
  122.          var _loc1_:CHUDIcon = null;
  123.          for each(_loc1_ in mIcons.slice())
  124.          {
  125.             _loc1_.Process();
  126.          }
  127.       }
  128.       
  129.       public function Activate() : void
  130.       {
  131.          var _loc1_:CHUDPanel = null;
  132.          for each(_loc1_ in mHUD.mPanels)
  133.          {
  134.             _loc1_.mSelected = _loc1_ == this ? true : false;
  135.          }
  136.          mDrawInit = false;
  137.          dispatchEvent(new Event(SELECTED));
  138.       }
  139.       
  140.       public function GetIcon(param1:String) : CHUDIcon
  141.       {
  142.          var _loc2_:CHUDIcon = null;
  143.          for each(_loc2_ in mIcons)
  144.          {
  145.             if(_loc2_.mID == param1)
  146.             {
  147.                return _loc2_;
  148.             }
  149.          }
  150.          return null;
  151.       }
  152.       
  153.       public function AddIcon(param1:CHUDIcon) : void
  154.       {
  155.          param1.mIndex = mIcons.length;
  156.          mIcons.push(param1);
  157.          if(mcPanel.mcFader)
  158.          {
  159.             mcPanel.addChildAt(param1,mcPanel.getChildIndex(mcPanel.mcFader));
  160.          }
  161.          else
  162.          {
  163.             mcPanel.addChild(param1);
  164.          }
  165.          param1.Activate(true);
  166.          RepositionIcons();
  167.       }
  168.       
  169.       private function e_TAB_OUT(param1:MouseEvent = null) : void
  170.       {
  171.          if(true)
  172.          {
  173.             MovieClip(param1.currentTarget).mPanel.mHilightTab = false;
  174.          }
  175.       }
  176.       
  177.       public function Draw() : void
  178.       {
  179.          dispatchEvent(new Event(DRAWPANEL));
  180.       }
  181.       
  182.       public function set mSelected(param1:Boolean) : void
  183.       {
  184.          if(true)
  185.          {
  186.             mHilightTab = false;
  187.             if(true)
  188.             {
  189.                if(mcTab)
  190.                {
  191.                   if(true)
  192.                   {
  193.                      if(param1)
  194.                      {
  195.                         if(true)
  196.                         {
  197.                            if(!mSelected)
  198.                            {
  199.                               if(true)
  200.                               {
  201.                                  mcTab.buttonMode = false;
  202.                                  if(true)
  203.                                  {
  204.                                     mcTab.useHandCursor = false;
  205.                                     if(true)
  206.                                     {
  207.                                        mcTab.transform.colorTransform = mTabSelected;
  208.                                        if(true)
  209.                                        {
  210.                                           mcTab.tbText.filters = mTabTextFilters;
  211.                                           if(true)
  212.                                           {
  213.                                              mcTab.tbText.textColor = mTabTextColor;
  214.                                              if(true)
  215.                                              {
  216.                                                 addr90:
  217.                                                 mcPanel.x = mPanelPosition.x;
  218.                                                 addr94:
  219.                                                 mcPanel.y = mPanelPosition.y;
  220.                                                 mcPanel.visible = mPermanent ? true : param1;
  221.                                                 return;
  222.                                                 addr63:
  223.                                                 addr98:
  224.                                              }
  225.                                              else
  226.                                              {
  227.                                                 addr69:
  228.                                                 if(mPermanent)
  229.                                                 {
  230.                                                 }
  231.                                                 ┬º┬ºgoto(addr90);
  232.                                              }
  233.                                              ┬º┬ºgoto(addr90);
  234.                                           }
  235.                                           mcTab.buttonMode = true;
  236.                                        }
  237.                                        mcTab.useHandCursor = true;
  238.                                     }
  239.                                     mcTab.transform.colorTransform = mTabNormal;
  240.                                  }
  241.                                  mcTab.tbText.filters = [];
  242.                               }
  243.                               mcTab.tbText.textColor = 16777215;
  244.                               ┬º┬ºgoto(addr90);
  245.                            }
  246.                            ┬º┬ºgoto(addr63);
  247.                         }
  248.                         ┬º┬ºgoto(addr90);
  249.                      }
  250.                      else
  251.                      {
  252.                         ┬º┬ºpush(mSelected);
  253.                         if(mSelected)
  254.                         {
  255.                            ┬º┬ºpop();
  256.                            ┬º┬ºgoto(addr69);
  257.                         }
  258.                      }
  259.                      ┬º┬ºgoto(addr69);
  260.                   }
  261.                   ┬º┬ºgoto(addr94);
  262.                }
  263.                ┬º┬ºgoto(addr90);
  264.             }
  265.             ┬º┬ºgoto(addr98);
  266.          }
  267.          ┬º┬ºgoto(addr90);
  268.       }
  269.       
  270.       private function set mHilightTab(param1:Boolean) : void
  271.       {
  272.          if(true)
  273.          {
  274.             if(mSelected)
  275.             {
  276.                if(true)
  277.                {
  278.                   return;
  279.                }
  280.             }
  281.             else
  282.             {
  283.                if(!mcTab)
  284.                {
  285.                   if(true)
  286.                   {
  287.                      return;
  288.                   }
  289.                }
  290.                else
  291.                {
  292.                   mcTab.mHilight = param1;
  293.                   mcTab.transform.colorTransform = param1 ? mTabHilight : mTabNormal;
  294.                   mcTab.tbText.filters = [];
  295.                }
  296.                mcTab.tbText.textColor = 16777215;
  297.                mcTab.buttonMode = true;
  298.             }
  299.             mcTab.useHandCursor = true;
  300.          }
  301.       }
  302.       
  303.       public function get mBuilding() : Boolean
  304.       {
  305.          var _loc1_:CHUDIcon = null;
  306.          for each(_loc1_ in mIcons)
  307.          {
  308.             if(_loc1_.mBuild)
  309.             {
  310.                return true;
  311.             }
  312.          }
  313.          return false;
  314.       }
  315.       
  316.       public function get mStrikesReady() : Boolean
  317.       {
  318.          var _loc1_:CHUDIcon = null;
  319.          for each(_loc1_ in mIcons)
  320.          {
  321.             if(true)
  322.             {
  323.                if(_loc1_.mLaunch)
  324.                {
  325.                   return true;
  326.                }
  327.             }
  328.          }
  329.          return false;
  330.       }
  331.       
  332.       public function get mSelected() : Boolean
  333.       {
  334.          return mcPanel.visible;
  335.       }
  336.       
  337.       private function e_TAB_OVER(param1:MouseEvent = null) : void
  338.       {
  339.          MovieClip(param1.currentTarget).mPanel.mHilightTab = true;
  340.       }
  341.       
  342.       private function get mHilightTab() : Boolean
  343.       {
  344.          return !!mcTab ? Boolean(mcTab.mHilight) : false;
  345.       }
  346.       
  347.       public function RemoveIcon(param1:CHUDIcon) : void
  348.       {
  349.          var _loc2_:* = 0;
  350.          if(true)
  351.          {
  352.             mcPanel.removeChild(param1);
  353.             if(true)
  354.             {
  355.                mIcons.splice(mIcons.indexOf(param1),1);
  356.             }
  357.             ┬º┬ºpush(0);
  358.             if(true)
  359.             {
  360.                _loc2_ = ┬º┬ºpop();
  361.                addr35:
  362.                ┬º┬ºpush(0);
  363.             }
  364.             for each(param1 in mIcons)
  365.             {
  366.                if(true)
  367.                {
  368.                   param1.mIndex = _loc2_++;
  369.                }
  370.             }
  371.             RepositionIcons();
  372.             return;
  373.          }
  374.          ┬º┬ºgoto(addr35);
  375.       }
  376.       
  377.       private function e_TAB_UP(param1:MouseEvent = null) : void
  378.       {
  379.          MovieClip(param1.currentTarget).mPanel.Activate();
  380.       }
  381.    }
  382. }
  383.